Searching for information has become an integral part of everyday life. Yet, there are many instances where one would want to search for information but a convenient tool is not available to perform the desired search at that very moment. This is because, today search activity is mostly confined to the PC. While a PC with a keyboard, mouse, and a big screen is a convenient tool to perform search, it is not possible for a user to carry a PC everywhere. However, most users typically carry a mobile phone with them. Mobile phones are increasingly provided with a broadband connection, and hence could be useful tools for performing search. However, mobile phones also suffer from drawbacks—the lack of a substantial keyboard to enter information, and the lack of a mouse and a big monitor to see, navigate and understand the results. If a convenient mechanism can be devised utilizing the limited keypad of a mobile, then the opportunity for users to perform more searches increases dramatically. For example, shoppers can access information about products right when they are in a store.
Prior art solutions to minimize text entry during search can be found both on the PC as well as on mobile phones and other devices. A user who wants to search, typically has a complete target keyphrase in mind such as “silicon valley roads” which in turn is composed of one or more distinct keywords—in this case, “silicon”, “valley”, and “roads” (where a keyword is a component of a target keyphrase that cannot be further decomposed); or a combination of one or more sub keyphrases such as “silicon valley” and keywords such as “roads” (where a sub keyphrase is a component of the target keyphrase that itself can be decomposed further into component keywords). The entire set of documents that have to be searched—for example all web pages, or descriptions of products in a store—is called the domain of the search. Two primary classes of solutions exist to minimize user effort in entering search target keyphrases. Search engines such as Google, YouTube and Yahoo, provide search suggestions. See panel 405 in FIG. 4 for an example of the Search Suggestions Approach. When a user starts typing in the search box, the system responds with suggestions for target keyphrases based on what the user has already entered in the search box. For example, if the user wants to search for “silicon valley” and starts entering ‘s’, ‘i’, ‘l’, ‘i’, . . . with each character entered, the system progressively suggests search target keyphrase suggestions. Note that in these systems, what is suggested is the target keyphrase itself and not components (keywords and sub keyphrases) using which the user can compose a target keyphrase. If the user sees the intended complete target keyphrase, he selects it and the system then immediately performs a search for that target keyphrase and returns document results. Note that once the user selects a suggested target keyphrase, the search is launched immediately—the user has no ability to modify the target keyphrase suggestion in any way. Search suggestions are typically constructed from most popular searches and are not exhaustive given the limitation on the space available for suggestions. As a result, much of the time, the user ends up entering the full, intended target keyphrase manually and then launches the search. For example, if the user wants to search for chocolate cakes with raisin topping and wants to use the target keyphrase “chocolate cake raisin topping”, unless this exact target keyphrase is a popular target keyphrase and appears as a search suggestion, he will have to enter the whole target keyphrase manually. Even if “chocolate cake” or “raisin topping” by themselves are search suggestions, they are of no use in constructing the intended target keyphrase “chocolate cake raisin topping” by combining the two, since the moment the user selects one of these suggestions, a search is launched with that suggestion as the target keyphrase. Hence the objective of reducing user effort in entering search target keyphrases is not realized. The second prior art method of reducing text entry while searching is to produce the final results set itself with every character entered, instead of target keyphrase suggestions. An example is the Hulu Search (http://www.hulu.com). In these types of systems, when a user enters a keyphrase, each character entry triggers a request to the search system that generates full document results based on documents that correspond to target keyphrases that contain the text the user has entered till that point. See panel 425 in FIG. 4 for an example. The problem with this approach of directly generating document results with every character entered is that it is difficult to interface such a system with search-based advertisement systems. The specific target keyphrase intended by the user is not known since the step of presenting these to the user for him to select one is bypassed completely. Typical search-based advertisement systems require full target keyphrases to generate matching advertisements. In the systems where results are directly generated with every character entered by the user, only partial prefixes of target keyphrases that user potentially has in mind are available and hence it is difficult to extrapolate a partial target keyphrase to the specific full target keyphrase intended by the user for use in the advertisement systems. In addition, since the user never directly selects the target keyphrase, he may be confused as to why a certain result has appeared for the text he has entered so far.
In this invention, a user interface and system are presented for a “two-stage” approach to search. In the first stage, the target keyphrase is constructed while minimizing text entry by the user. Keywords and sub key phrases in the user desired target keyphrase are constructed by searching for these within the set of all available keywords and sub keyphrases with every character entered by the user. Once the keyword or sub keyphrase sought by the user is found, and selected by the user, it is added to the target keyphrase. Once the full target keyphrase is so constructed in the first stage, upon the user's request to launch a search using that target keyphrase, a search is performed in the second stage using the full target keyphrase constructed in the first stage. Since the keyword/sub keyphrase search to construct a full target keyphrase in the first stage is exhaustive, the user will be able to find the keyword or sub keyphrase he is looking for, potentially with minimum number of characters entered. Hence the limitation of the first type of prior art (Search Suggestions) discussed above, where users may not fully get the benefit of minimal text entry, is overcome. Since this invention preserves the notion of a target keyphrase that is explicitly selected by the user, it can be integrated into keyword-based advertisement systems.